The present invention relates to a learning system through a neural network for efficiently performing at a high speed a learning process, and can be widely used in applications such as pattern recognizing operations, various controls, etc.
In a learning process performed by a neuro-computer, a learning result greatly depends on a learning parameter, an initial weight value, and the number of units in the intermediate layer. Accordingly, a number of trials and errors must be performed on various conditions to obtain a neural net having desired capabilities.
FIG. 1 is a block diagram of an example of the configuration of the learning system through the conventional neural network. It illustrates four networks each having an input layer, an intermediate layer, and an output layer. Each of networks 1-4 simultaneously or sequentially receives a learning pattern to perform its learning process.
Through the conventional neural networks, data can be learned both in parallel and series as shown in FIG. 2. In the serial method (a), data are serially learned in network 1, and then learned in network 2, and so on. By contrast, in the parallel method (b), data are learned simultaneously in parallel in network 1 in process 1, in network 2 in process 2, and so on.
FIG. 3 shows an example of a conventional neural network learning system. It shows an example of a learning system in which data are learned by three neural networks A, B, and C each having a different configuration. A pattern storage unit 10 stores inputted patterns to be learned by each of the networks and the corresponding teaching patterns. The input patterns are stored in an input pattern unit 11, and the teaching patterns in a teaching pattern unit 12.
Each of the neural networks A-C comprises an input layer unit 13, an intermediate layer unit 14, an output layer unit 15, an error calculator 16 for calculating the error between an output from the output layer unit 15 and teaching data outputted from the teaching pattern unit 12 in each neural network, and a learning controller 17 for updating weight values stored in the intermediate layer unit 14 and the output layer unit 15 according to an error value outputted by the error calculator 16.
In FIG. 3, for example, data are learned in series by the neural network A, and then by the neural network B, and so on. During learning, each neural network receives an inputted pattern as a learning pattern from the input pattern unit 11, and learns such that a difference between an output from the output layer unit 15 and teaching data outputted from the teaching pattern unit 12 converges to a value smaller than a predetermined value.
Between two learning methods shown in FIG. 2, the parallel method is more effective in performing a learning process at a high speed. However, the conventional parallel method requires a large amount of hardware because each neural network is operated independently. Besides, it must load a pattern for each network from a pattern storage unit in performing a forward process by a neural network in which its input layer receives a value and obtains an output from a unit in its output layer.